This invention relates to data communication procedures of a network, and more specifically to bandwidth assurance in data communication using a CSMA/CD system.
C. Venkatramani, et al, Design, Implementation, and Evaluation of a Software-based Real-Time Ethernet Protocol, SIGCOMM ""95 Cambridge, pp. 27-37, and C. Venkatramani, The Design, Implementation, and Evaluation of RETHER: A Real-Time Ethernet Protocol, Dept. of Computer Science, State University of New York at Stony Brook, 1996, pp. 1-125 describe an Ethernet protocol, hardwares and real-time and non-real-time communication.
JP-A-3-155241 teaches a LAN system using synchronous and asynchronous communication transfer slots.
The communication methods that have been used ordinarily in the LAN include a CSMA/CD system. Data transfer in data communication using this CSMA/CD system is executed in the following procedures.
a. A node or a computer requesting data transfer confirms the status of a stream.
b. Data transfer is commenced when the stream is empty, and is held on till the stream is empty, when the stream is not empty.
c. The node transferring the data compares the transmitted data with the status of the stream, and a plurality of nodes execute simultaneously the data transfer on the same stream and monitor whether or not any data collision occurs.
d. When the node transferring the data detects the data collision before the transfer is completed, it stops the transfer and transmits a collision signal representing the occurrence of the data collision to all the nodes on the stream.
e. The node transferring the data similarly stops the data transfer when it receives the collision signal before the data transfer is completed.
f. When the node transferring the data stops the data transfer in the case of the procedure d or e, a wait time is secured at random and then the data transfer procedure is repeated once again from the beginning.
g. When the data transfer is completed successfully by the procedures a to f, normal transfer completion is returned to the transfer request.
h. When the data transfer proves failure more than a predetermined number of times due to the data collision by the procedures a to d, the data transfer is stopped and a transfer error is sent back to the transfer request.
The node to which the data transfer is generated from the application, or the like, commences the data transfer at any time by the procedures described above.
According to this communication method, the stream is not occupied even during the transfer of large quantities of data and the node to which the data transfer request is generated can start the data transfer by interrupting the transfer of large quantities of data. Therefore, this method has been used widely in the conventional data transfer which does not need the real-time feature.
In the data transfer of the CSMA/CD system, however, the loss of a packet or a lump of data as the data transfer unit, and delays occur due to the collision with other data transfer. The problem of the loss of the packet, etc. can be solved by detecting time-out and executing re-transfer of the data in the data transfer that does not need the real-time feature. Nonetheless, the existing LAN using the CSMA/CD system cannot easily achieve communication that guarantees the real-time feature because the delay of the packet and the data re-transfer spoil the real-time feature of the communication.
A multimedia LAN system as one of the examples of the prior art technologies for solving such a problem is described in JP-A-3-155241.
The multimedia LAN system includes a specific apparatus for establishing synchronism as a whole among all the computers constituting the LAN system. To establish this synchronism throughout the whole LAN system, a time-slot for synchronization signal transfer, a time-slot for synchronous data transfer and a time-slot for asynchronous data transfer are disposed so that real-time multimedia data are transferred in a predetermined time interval in the time-slot for synchronization transfer while the time-slot for asynchronous signal transfer makes it possible to execute data transfer not requiring real-time feature by using an access system such as a CSMA/CD system.
A video conference system and a video-on-demand system are those applications which process consecutive media generated by digitizing speeches and dynamic images in real-time in a distributed environment using a network. Unless the communication data quantity per unit time is assured in the data communication in these applications, the data transfer cannot meet a playback processing of the consecutive media, so that the playback processing becomes incomplete and the interruption of the speech and disturbance of the images occur. In other words, to accomplish these applications, a data communication assuring the bandwidth, which in turn assures the communication data quantity per unit time, becomes essentially necessary.
The multimedia LAN system described above assures the bandwidth by using the time-slot for synchronization signal transfer and the time-slot for asynchronous signal transfer but when compared with the conventional LAN system using the CSMA/CD system, this system involves the problem that a specific apparatus which enables all the computers constituting the LAN system to establish synchronism throughout the whole LAN system must be provided. In other words, the existing LAN apparatus cannot be applied as they are and the change of the LAN specification is unavoidable.
To solve the problem described above, it is an object of the present invention to provide a system which can execute data communication assuring the real-time feature on the conventional LAN employing the CSMA/CD system.
It is another object of the present invention to provide a method and a system for controlling a transfer bandwidth in such a manner as to reduce packet collision during the data transfer.
In accordance with the present invention, there is provided a method of managing data communication comprising: a step of storing a plurality of transfer data lengths (M) that can be transferred within a predetermined transmission time interval, a step of storing said predetermined transfer time interval (t), a step of accumulating the quantity of data to be transferred through a communication stream within said predetermined transmission time interval, and a step of limiting the quantity of said data to be transferred to the value of said data lengths. It is possible to add a step of limiting the quantity of said data to be transferred within said predetermined transmission time interval to a value not greater than the balance obtained by subtracting a predetermined data length margin from the value of said data length. It will be possible to add a step of setting the time under the maximum data blank state, which is inputted by a client and is handled as the time used consecutively, as the time interval in which the transfer of a series of data is to be completed, a step of setting an allowable time determined to a considerably greater time by a server on the basis of said consecutive use time, and a step of detecting that the data received exceeds said consecutive use time. It will be able to provide a step of subtracting a data transfer bandwidth from said data length to cope with a request requesting the use of said data transfer bandwidth from one of a plurality of clients connected to said communication stream, a step of checking whether or not to release said data transfer bandwidth when non-reception of data is detected during said consecutive use time, and a step of adding said data transfer bandwidth to said data length when said data transfer bandwidth is released. It is possible to add a step of accumulating allocated bandwidths when the bandwidths of said communication stream are allocated so as to cope with the request requesting the use of the bandwidths of said data communication bandwidths so as to transmit a series of data from a plurality of clients connected to said communication stream, a step of checking whether or not to release said allocated data communication bandwidths when non-reception of data is detected during a predetermined consecutive use time of a series of data transfer, and subtracting a series of said data communication bandwidths from said accumulated bandwidths when said data communication bandwidths are released.
When a plurality of computers transfer simultaneously packets in a network employing a control mechanism for detecting the collision of the packets due to this simultaneous transfer and re-transferring automatically the packets and a computer network system in which these computers are connected by this network, the present invention holds temporarily the execution of the packet transfer request generated from a program operating on each computer, limits the data quantity transferred from each computer per unit time, and executes transfer control so that the traffic of the whole network does not exceed a predetermined value within the unit time. In this way, the present invention reduces the collision probability of the packets due to the simultaneous transfer and assures with a high probability that the relay time required for the packet transfer falls within an allowable value.
In the network and the computer network system described above, the present invention provides a traffic control mechanism including bandwidth allocation application means which uses at least one of the computers connected to the network as a global bandwidth reservation management node, and applies a bandwidth allocation request designating the bandwidth or a bandwidth allocation request not designating the bandwidth to the global bandwidth reservation management node before each computer which is to transfer the data starts the data transfer to the computer on the reception side, bandwidth allocation decision means which decides the bandwidth allocated to each computer from the bandwidth that the global bandwidth reservation management node can utilize on the network, the bandwidth allocation request designating the bandwidth applied and the bandwidth allocation request not designating the bandwidth which is applied, bandwidth allocation result report means which reports the allocation bandwidth so decided to the computer which applies the request or all the computers connected to the network, and transfer data quantity change means which sets a transmitting data quantity per unit time when each computer accepts the bandwidth allocation result. Using this traffic control mechanism, the present invention executes the traffic control so that the traffic of the entire network does not exceed a predetermined value within the unit time.
Before the data transfer not requiring the real-time feature is started, the bandwidth allocation request not designating the bandwidth is applied to the global bandwidth reservation management node and after this bandwidth allocation is accepted, the data quantity to be transmitted per unit time, which does not require the real-time feature, is set. On the other hand, before the data transfer requiring the real-time feature is started, the bandwidth allocation request designating the bandwidth is applied to the global bandwidth reservation management node and after this bandwidth allocation result is accepted, the data quantity to be transmitted per unit time, which requires the real-time feature, is set. As a result, even when the communication requiring the real-time feature and the communication not requiring the real-time feature exist in mixture, the real-time feature can be guaranteed with a high probability.